package Graficas;

import javax.swing.ImageIcon;
import javax.swing.JLabel;

import Zombies.Zombie;

import Dinero.Dinero;
import Hilos.HiloMoverCartel;
import Humanos.Humano;
import Logica.Juego;

public class Grafica {
	//ATRIBUTOS DE INSTANCIA
	protected JLabel fondo;
	protected Juego juego;
	
	//CONSTRUCTOR
	public Grafica(JLabel f,Juego j){
		fondo=f;juego=j;
	}
	
	//COMANDOS
	public void agregarHumano(Humano h){
		JLabel grafica=h.getGrafica();
		grafica.setSize(100,100);
		grafica.setLocation(h.getPosX(),h.getPosY());
		grafica.setOpaque(false);
		fondo.add(grafica);
		grafica.repaint();
	}
	public void retirarHumano(Humano h){
		JLabel grafica=h.getGrafica();
		grafica.setVisible(false);
		fondo.remove(grafica);		
	}
	public void agregarZombie(Zombie z){
		JLabel grafica=z.getGrafica();
		grafica.setSize(100,100);
		grafica.setOpaque(false);
		fondo.add(grafica);
		grafica.repaint();
	}
	public void retirarZombie(Zombie z){
		JLabel grafica=z.getGrafica();
		grafica.setVisible(false);
		fondo.remove(z.getGrafica());		
	}
	public void agregarDinero(Dinero d){
		JLabel grafica=d.getGrafica();
		grafica.setSize(100,100);
		grafica.setOpaque(false);
		grafica.setVerticalAlignment(JLabel.CENTER);
		grafica.setHorizontalAlignment(JLabel.CENTER);
		grafica.setLocation(d.getX(),d.getY());
		fondo.add(grafica);
		grafica.repaint();
	}
	public void retirarDinero(Dinero d){
		JLabel grafica=d.getGrafica();
		grafica.setVisible(false);
		fondo.remove(d.getGrafica());
	}
	public void mostrarNumeroOla(int n,int dif){
	//ESTE METODO SE ENCARGA DE SETEAR EL MENSAJE QUE SE MOSTRARA AL PRINCIPIO DE CADA OLA EN UN CARTEL
		JLabel grafica=new JLabel();
		if(dif==2){
			switch(n){
				case 0:{grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajePrimerOla.png")));break;}
				case 1:{grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajeUltimaOla.png")));break;}}}
		else if(dif==3){
				switch(n){
					case 0:{grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajePrimerOla.png")));break;}
					case 1:{ grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajeNuevaOla.png")));break;}
					case 2:{grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajeUltimaOla.png")));break;}}}
			 else{
				 switch(n){
				 	case 0:{grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajePrimerOla.png")));break;}
					case 1:{ grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajeNuevaOla.png")));break;}
					case 2:{ grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajeNuevaOla.png")));break;}
					case 3:{grafica.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Imagenes/Otros/MensajeUltimaOla.png")));break;}}}
		
		(new HiloMoverCartel(grafica,fondo,juego)).start();
	}
}
